package com.hyperboost.service;

import com.hyperboost.dto.ShareCommentDTO;
import com.hyperboost.dto.ShareCommentPageQueryDTO;
import com.hyperboost.dto.ShareCommentReplyQueryDTO;
import com.hyperboost.dto.SharePageQueryDto;
import com.hyperboost.result.PageResult;
import com.hyperboost.vo.ShareCommentReplyVO;
import com.hyperboost.vo.ShareCommentVO;

import java.util.List;

public interface ShareCommentService {

    /**
     * 新增评论
     *
     * @param commentDTO
     */
    void addComment(ShareCommentDTO commentDTO);

    /**
     * 删除评论
     *
     * @param commentId
     */
    void deleteComment(Long commentId);

    /**
     * 分页查询顶级评论
     *
     * @param pageQueryDTO
     * @return
     */
    PageResult<ShareCommentVO> pageQueryComment(ShareCommentPageQueryDTO pageQueryDTO);

    /**
     * 查询回复评论
     *
     * @param pageQueryDTO
     * @return
     */
    List<ShareCommentReplyVO> listQueryReplyComment(ShareCommentReplyQueryDTO pageQueryDTO);
    /**
     * 根据userId查询该用户的回复
     *
     * @return
     */
    PageResult<ShareCommentReplyVO> getMyComment(SharePageQueryDto sharePageQueryDto);

    /**
     * 回复我的评论
     *
     * @param sharePageQueryDto
     * @return
     */
    PageResult<ShareCommentReplyVO> CommentReply(SharePageQueryDto sharePageQueryDto);
}
